iT邦幫忙

2025 iThome 鐵人賽

DAY 2
0
Software Development

從零開始,30天學會MongoDB系列 第 2

MongoDB 安裝、基本 CRUD

  • 分享至 

  • xImage
  •  

MongoDB 安裝指南

步驟 1: 下載 MongoDB Community Server
步驟 2:

# 安裝 Homebrew (如果尚未安裝)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 添加 MongoDB tap
brew tap mongodb/brew

# 安裝 MongoDB Community Edition
brew install mongodb-community

# 啟動 MongoDB 服務
brew services start mongodb/brew/mongodb-community

步驟3:

# 檢查 MongoDB 版本
mongod --version

# 連接到 MongoDB
mongosh

# 在 MongoDB Shell 中執行
db.version()

MongoDB 圖形化用戶界面設定

筆者推薦使用 Studio 3T 免費試用版本,前往Studio 3T官方下載頁面:https://studio3t.com/download/

下載後設定Mongodb 連線:
步驟1: 點擊connct
https://ithelp.ithome.com.tw/upload/images/20250915/20178774qevfTtETRy.png

步驟2: 點擊New Connection, 輸入連線:
本地端連線:mongodb://localhost:27017
https://ithelp.ithome.com.tw/upload/images/20250915/20178774L2i5RVMxhH.png

步驟3: 輸入連線名稱, 點擊save 完成設定
https://ithelp.ithome.com.tw/upload/images/20250915/201787746GUlJZUCa1.png

基本 CRUD

插入單一文檔

db.products.insertOne({
    name: "iPhone 15",
    price: 29900,
    category: "手機",
    inStock: true,
    tags: ["智慧型手機", "蘋果"],
    specs: {
        storage: "128GB",
        color: "黑色"
    }
})

插入多個文檔

db.products.insertMany([
    {
        name: "MacBook Pro",
        price: 59900,
        category: "筆電",
        inStock: true,
        tags: ["筆記型電腦", "蘋果"]
    },
    {
        name: "AirPods Pro",
        price: 7990,
        category: "耳機",
        inStock: false,
        tags: ["無線耳機", "蘋果"]
    }
])

查詢所有文檔

db.products.find()

格式化顯示

db.products.find().pretty()

查詢特定條件

db.products.find({ category: "手機" })

查詢價格範圍

db.products.find({ price: { $gte: 10000, $lte: 50000 } })

查詢包含特定標籤

db.products.find({ tags: { $in: ["蘋果"] } })

查詢嵌套文檔

db.products.find({ "specs.storage": "128GB" })

限制結果數量

db.products.find().limit(2)

排序 (1: 升序, -1: 降序)

db.products.find().sort({ price: -1 })

只返回特定欄位

db.products.find({}, { name: 1, price: 1, _id: 0 })

更新單一文檔

db.products.updateOne(
    { name: "iPhone 15" },
    { $set: { price: 27900, inStock: false } }
)

更新多個文檔

db.products.updateMany(
    { category: "手機" },
    { $set: { category: "智慧型手機" } }
)

使用 $inc 增加數值

db.products.updateOne(
    { name: "iPhone 15" },
    { $inc: { price: -2000 } }
)

添加新欄位

db.products.updateOne(
    { name: "iPhone 15" },
    { $set: { warranty: "一年保固" } }
)

添加元素到陣列

db.products.updateOne(
    { name: "iPhone 15" },
    { $push: { tags: "5G" } }
)

從陣列移除元素

db.products.updateOne(
    { name: "iPhone 15" },
    { $pull: { tags: "5G" } }
)

如果不存在則創建 (upsert)

db.products.updateOne(
    { name: "iPad Air" },
    { $set: { price: 19900, category: "平板" } },
    { upsert: true }
)

刪除單一文檔

db.products.deleteOne({ name: "AirPods Pro" })

刪除多個文檔

db.products.deleteMany({ inStock: false })

刪除所有文檔

db.products.deleteMany({})

刪除整個集合

db.products.drop()

上一篇
為什麼要學 MongoDB?NoSQL 與 SQL 的差異
下一篇
BSON 資料結構、Schema 設計思維
系列文
從零開始,30天學會MongoDB3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言